// 配置一些自定义的信息，详见官网 https://cli.vuejs.org/zh/config/#pages
// 改完后，可能需要关闭一下，重新运行npm run serve，呈现的页面上也要刷新一下
module.exports = {
  // pages: {
  //   index: {
  //     // page 的入口
  //     // entry: 'src/main.js'
  //     // 模板来源
  //     // template: 'public/index.html',
  //   }
  // },
  // 关闭语法检查，不然如果程序中有一个没有使用过的变量等就会报错
  lintOnSave: false,
  // lintOnSave: process.env.NODE_ENV !== 'production'

  // 配置开发阶段和发布阶段的入口文件
  chainWebpack: config => {
    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-dev.js');

      // 首页定制：
      config.plugin('html').tap(args => {
        args[0].isProd = false /* 追加一个属性 */
        return args
      });

    })

    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      config
        .entry('app') /* 得到默认的打包入口文件 */
        .clear()/* 清除默认入口文件 */
        .add('./src/main-prod.js');/* 新增自己的 */

      // 解决单个js文件过大问题：external
      // 它不会把externals中的vue、axios等打包放到一个文件中，而是从window全局中去寻找相应的插件，
      // 从而解决了打包后单文件体积过大的问题
      config.set('externals', {
        vue: 'Vue',
        'vue-router': 'VueRouter',
        axios: 'axios',
        lodash: '_',
        echarts: 'echarts',
        nprogress: 'NProgress',
        'vue-quill-editor': 'VueQuillEditor',
        // 'element-ui': 'ELEMENTUI'
      });

      // 首页定制：
      config.plugin('html').tap(args => {
        args[0].isProd = true /* 追加一个属性 */
        return args
      });
    })
  }
}


// module.exports = {
//   chainWebpack: config => {
//     // 发布模式
//     config.when(process.env.NODE_ENV === 'production', config => {
//       config
//         .entry('app') /* 得到默认的打包入口文件 */
//         .clear()/* 清除默认入口文件 */
//         .add('./src/main-prod.js')/* 新增自己的 */

//       // 解决单个js文件过大问题：external
//       config.set('externals', {
//         vue: 'Vue',
//         'vue-router': 'VueRouter',
//         axios: 'axios',
//         lodash: '_',
//         echarts: 'echarts',
//         nprogress: 'NProgress',
//         'vue-quill-editor': 'VueQuillEditor'
//       })

//       // 首页定制：
//       config.plugin('html').tap(args => {
//         args[0].isProd = true /* 追加一个属性 */
//         return args
//       })
//     })

//     // 开发模式
//     config.when(process.env.NODE_ENV === 'development', config => {
//       config
//         .entry('app')
//         .clear()
//         .add('./src/main-dev.js')

//       config.plugin('html').tap(args => {
//         args[0].isProd = false
//         return args
//       })
//     })
//   }
// }
